﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Hermes.Framework.Filesystem
{
    public interface IFileSystemProvider
    {
        void Connect(ConnectionInfo connection);

        void CreateFile(string fileName);

        void Copy(string sourceFileName, string targetFileName);

        //void CopyDirectory(string from, string to);

        void Rename(string sourceFileName, string targetFileName);

        //void RenameDirectory(string from, string to);

        void DeleteFile(string fileName);

        bool Exists(string fileName);

        void CreateDirectory(string directoryName);

        bool IsDirectory(string directoryName);

        void DeleteDirectory(string directoryName);

        int GetItemCount(string directoryName);

        string GetItem(string directoryName, int index);

        void RenameDirectory(string from, string to);

        FileSystemObject[] List(string directoryName);

        FileSystemObject GetObject(string location);

        FileSystemObject GetObject(string directoryName, int index);

        void Create(FileSystemFile file);

        void Copy(
    }
}
